ase-sync-import
SkillFiles & storageImport information from foreign sources into a set of artifact kinds (the target), generating or updating them to reflect the imported information. Use when the user wants to "import", "ingest", or "bring in" external sources like files, URLs, or pasted text into artifacts like SPEC, CODE, DOCS, TASK, INFR, or OTHR.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the ase-sync-import skill
What this skill tells your AI
The instructions your AI receives, as published by rse/ase in plugin/skills/ase-sync-import/SKILL.md and read by ahel’s review.
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
$ARGUMENTS
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-meta.md @${CLAUDE_SKILL_DIR}/../../meta/ase-format-spec.md @${CLAUDE_SKILL_DIR}/../../meta/ase-format-task.md @${CLAUDE_SKILL_DIR}/../../meta/ase-tenets.md
Procedure
-
-
The recognized artifact kinds are the six tokens
TASK,SPEC,CODE,DOCS,INFR, andOTHR. Parse as the comma-separated kind list. Upper-case and trim every parsed kind token. Do not output anything. -
Only output the following and then immediately STOP processing the entire current skill:
-
If any token in is not one of the six recognized kinds, only output the following (with set to the first offending token) and then immediately STOP processing the entire current skill:
-
Only output the following and then immediately STOP processing the entire current skill:
-
Report the resolved target and source hint with the following :
-
-
-
Do not output anything in this STEP 2.
-
Interpret the as the description of the foreign sources to import from. The foreign sources are external to the ASE artifact sets and may be local files or directories, remote URLs, pasted text passages, or references to other documents.
-
Read or fetch all foreign sources named by the : read local files and directories via the
Readtool, and fetch remote URLs via the available web tools. Build a precise understanding of the information the foreign sources represent.
-
-
-
For all kinds in except
TASK, call thease_artifact_list(kind: [ ... ])tool of theaseMCP server once, passing the lower-casedkindtokens, and read the returnedartifactsarray of{ kind, files }objects to obtain the project-relative file list per kind. TheTASKkind is not resolvable viaase_artifact_list(task plans are managed by thease_task_*tools), so resolve and read it via thease_task_idandase_task_loadtools instead. Read all existing target artifacts to understand their current state. -
Internalize and honor the artifact-format conventions:
- the artifact-set meta information (
ase-format-meta.md), - the
SPECformat, i.e. the SpecBook models and formats plus the SpecBook schema configuration of the project (ase-format-spec.md), - the
TASKformat (ase-format-task.md).
Whenever a target artifact belongs to one of these kinds, it MUST be kept (or made) conformant to the corresponding format (headings, structure, identifiers, references, and the
Modified:timestamp rule). The kindsCODE,DOCS,INFR, andOTHRhave no dedicated format contract and are treated as free-form. - the artifact-set meta information (
-
You MUST internalize and strictly honor the GENERIC TENETS, the CRAFTING TENETS, and the RECONCILIATION TENETS of the ASE Tenets when generating or updating in the following. Do not output anything.
-
Call the
ase_timestamp(format: "yyyy-LL-dd HH:mm")tool of theaseMCP server once to find out the current time and store it in . -
Generate or update the artifact files so that they faithfully reflect the information of the imported foreign sources:
-
Generate a target artifact that does not yet exist but is warranted by the imported information, using the current time for both its
Created:andModified:timestamps. -
Update an existing target artifact so it reflects the imported information. Keep changes as surgical as possible: change only what the imported information actually requires, and do not rewrite unrelated parts of an artifact. Whenever an existing artifact is changed and contains a
Modified: <timestamp-modified-old/>line, replace this withModified: <timestamp-modified/>.
Honor No Fabrication: never invent target content the foreign sources do not support; if the sources are silent or ambiguous on something the target needs, surface the gap rather than guessing. Re-express the imported facts at the target's level of abstraction (a SPEC states intent and structure).
Apply the generation/update directly to the target artifacts via the
Write/Edittools. For aTASKtarget, apply it via thease_task_saveMCP tool instead -- NEVER write a task plan file viaWrite/Editor by executing a shell command. -
-
Validate the specification by calling the
ase_specbook_lint()tool of theaseMCP server and reading its returneddiagnosticsarray of{ file, line, column, severity, message }objects. If it is not empty, fix the reported problems in the affectedSPECartifacts via theWrite/Edittools and call the tool again -- for at most three rounds in total. Do not output anything, unless diagnostics remain after the last round, in which case output the following , listing one bullet line per remaining diagnostic:<file/>:<line/>:<column/>: [...]
-
Report the performed changes with the following , listing one bullet line per generated or updated file (with its project-relative path and an ultra-brief description of what was imported):
<file/>: [...]
Only output the following :
-
Finally, give the closing hint by expanding the following (which, depending on the configured , may expand into nothing and hence emit no output at all):
-
Signals
- GitHub stars
- 52
- Forks
- 5
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ase-sync-import- Source
- github.com/rse/ase