Harness profile adapter
Skill rmonier/agent-smith/.agents/skills/harness-profile-adapter
Portable Agent Skills that turn repositories into agent-ready workspaces with AGENTS.md orientation, an OKF/LLM-wiki knowledge layer, reusable skill creation, and harness adapters.
npx -y skills add rmonier/agent-smith --skill harness-profile-adapterAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Creates and maintains harness-specific subagent/profile adapters after agent-ready context and custom action skills exist, and separately checks whether the active harness can natively discover AGENTS.md and .agents/skills/ at all - bridging either with a local alias when it can't. The bridging check is baseline compatibility and applies whenever agent-ready-context finishes a pass, regardless of whether runtime adapters are also wanted; full subagent/profile/persona generation stays optional, used only when the user separately requests it, without either becoming a source of truth.
The file declares its own license as See LICENSING.md. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
10.8 KB, as published. Nobody here has run it
Harness Profile Adapter
Use this skill to create or maintain harness-specific subagent/profile adapters from the repository's existing agent-ready context.
This skill does not define a new portable subagent standard. It helps the current agent understand the active harness and write the native files expected by that harness, using current local or official documentation.
Boundary rules
- OKF wiki = context source of truth: durable project knowledge, external evidence, tooling context, and provenance.
- AGENTS.md = orientation/index/best practices: short repo guide for agents.
- Agent Skills = actions: reusable procedures and scripts under
.agents/skills/. - Subagent/profile adapters = runtime-specific projections: generated or maintained for the active harness only.
Do not create new directories under .agents/ except Agent Skills under .agents/skills/. okf/wiki/tooling/ holds two things only: the minimal harness build record that every agent-ready pass writes (or explicitly declines — see references/tooling-context-policy.md), and fuller harness evidence persisted when this skill is explicitly run for a harness. Use the link policy in references/tooling-context-policy.md.
Core workflow
Run this skill only after:
AGENTS.mdexists or has been refreshed byagent-ready-context.okf/wiki/index.mdexists or has been refreshed.- Custom action skills have been created or reviewed by
skill-creatorwhen repeated actions were found.
This skill covers two things, and only the second is optional:
- Baseline harness-visibility bridging (Detect/Check/Bridge, steps 1-3 of the numbered workflow just below — not the prerequisites list above) — check whether the active harness can natively discover root
AGENTS.mdand.agents/skills/at all, and bridge the gap when it can't. Do this whenever this skill is invoked after the prerequisites above, whether or not the user separately asked for runtime adapters: without it, the harness cannot see any of whatagent-ready-contextandskill-creatorjust built, and no adapter generated in step 4+ would help either. Best-effort, never blocking: if the harness or its requirements can't be determined, say so instead of silently skipping. - Runtime subagent/profile adapters (Design/Ask/Write/Validate, steps 4-7) — generated only when the user explicitly wants them, after the above.
Then:
-
Detect the active runtime, not merely installed tools.
- Prefer explicit harness metadata exposed by the current environment or conversation.
- Inspect parent process and environment hints if available.
- Inspect repo files only as low-confidence hints.
- Do not use
<tool> --versionor the presence of an installed binary as proof of the active harness. - If runtime remains ambiguous, ask the user which harness to target.
-
Check what the active harness natively discovers, using current docs.
- Whether it reads
AGENTS.mddirectly, or requires a differently named instruction file. - Whether it scans
.agents/skills/directly, or only its own dedicated skills directory (harness-specific location, docs may cover more than one candidate location - confirm the one that actually applies). - Whether a newly created directory in either location needs a session/process restart before the harness picks it up - many harnesses only scan for skills at startup, so say so up front rather than after a bridge appears not to have worked.
- Follow
references/harness-docs.mdfor source priority and the full lookup checklist (instruction-file behavior, skills-directory behavior, restart requirement, plus everything needed for adapter generation). - If persistence is useful, record the evidence and summary under
okf/wiki/tooling/harnesses/<harness>.md; otherwise keep it as transient reasoning/output. Baseline OKF bootstrap writes only the minimal harness build record defined inreferences/tooling-context-policy.md(or justifies its absence in the run report); fuller tooling pages stay adapter work.
- Whether it reads
-
Bridge whatever step 2 found the harness can't discover natively.
AGENTS.mdand.agents/skills/remain the canonical sources; a bridge is always a local alias pointing back at them, never a copy - one place to edit either way.- Confirm the exact required file/directory name or path from docs or the user before creating anything.
- Use
scripts/ensure_local_alias.pyfor both cases (it detects file vs. directory from--sourceautomatically): a relative symlink first, and for a harness-required skills directory that a symlink can't reach (elevated-privilege platforms), a same-semantics directory alias with no admin rights required - see the script's own docstring for the exact fallback chain and why a directory alias has no text-pointer substitute. - Add the alias path to
.git/info/excludeunless the user explicitly wants a tracked adapter (the script does this automatically). - If a restart is needed per step 2, tell the user before considering the bridge done.
-
Design candidate subagent/profile adapters.
- Derive them from actual repository needs, OKF pages, and available skills.
- Good candidates are task-scoped and permission-bounded, for example
okf-curator,skill-architect,repo-cartographer,security-reviewer, ordependency-scout. - Do not embed long project context inside profile files. Point to
AGENTS.md,okf/wiki/index.md, and relevant skills. - Follow
references/profile-authoring.mdfor the full candidate-design checklist (what each adapter must answer) and anti-bloat rules before writing one.
-
Ask the user how to track generated harness-specific files.
- Local-only via
.git/info/exclude. - Ignored for all via
.gitignore. - Committed as shared team adapters.
- Default to local-only if the user has not chosen a team policy.
- Follow
references/git-tracking-policy.mdfor the full policy, including the different (gitignore, not exclude) rule forokf/wiki/tooling/pages.
- Local-only via
-
Write native adapter files by reasoning from current docs.
- Do not rely on hardcoded vendor renderers.
- Do not assume fields are stable between harness versions.
- Read the current docs and implement the native format directly.
- Keep adapter files short: purpose, activation/description, permissions/tools if supported, and instructions to consult
AGENTS.md,okf/wiki/index.md, and skills.
-
Validate outputs.
- Verify the files are in the correct harness location.
- Verify no profile embeds large OKF/project content.
- Verify project OKF concept pages do not link back to
okf/wiki/tooling/. - Verify the bundle-root
okf/wiki/index.mdlistsokf/wiki/tooling/in a clearly labeled harness-specific section when tooling pages exist, and that the committedtooling/index.mdnavigation stub exists (tooling pages are local by default; the stub keeps navigation coherent on every clone). - Run:
uv run .agents/skills/harness-profile-adapter/scripts/validate_tooling_link_policy.py --repo .
Tooling context in OKF
Harness documentation belongs in okf/wiki/tooling/, not in extra .agents/ folders.
Declare the hand-authored tooling/ exception in okf/wiki/INSTRUCTIONS.md so OpenWiki preserves it. Keep local tooling pages out of producer input, and review each refresh before accepting it.
The link direction stays strict for concept pages:
tooling context -> project context is allowed
project concept pages -> tooling context is forbidden
This means okf/wiki/tooling/harnesses/<harness>.md may mention AGENTS.md, .agents/skills/, or project OKF pages. Normal project concept pages must not depend on or link back to tooling pages.
The bundle-root okf/wiki/index.md is the deliberate exception: OKF navigation must enumerate the bundle, so when okf/wiki/tooling/ contains pages, the root index must reference it — in its own clearly labeled section marking it as harness-specific context that project pages never depend on. Root okf/wiki/log.md may likewise record tooling changes. Without that index entry the bundle stops being spec-navigable; with more than that (deep links from concept pages), agents start treating interchangeable harness details as project truth. Keep exactly the index entry, nothing more.
Read references/tooling-context-policy.md before writing tooling pages.
Runtime detection rule
Never conclude “the active harness is X” only because x is installed. A user can have multiple agents installed while running another harness.
Use scripts/inspect_runtime_context.py only to collect hints; it does not replace user confirmation when signals are ambiguous.
uv run .agents/skills/harness-profile-adapter/scripts/inspect_runtime_context.py --repo .
Non-goals
Do not:
- create a portable subagent standard;
- create
.agents/profiles/or other non-standard.agents/folders; - hardcode vendor profile renderers;
- copy
okf/wiki/content into profiles; - make harness docs a project source of truth;
- patch vendor skills;
- commit harness-specific outputs without an explicit user or repo policy.