• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / agterm / 30472859950
98%

Build:
DEFAULT BRANCH: master
Ran 29 Jul 2026 04:57PM UTC
Jobs 1
Files 83
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jul 2026 04:54PM UTC coverage: 97.452%. Remained the same
30472859950

push

github

web-flow
feat: publish the agent skill as a Claude Code and Codex plugin (#318)

publishes the bundled agent skill as a plugin installable through the agents' own plugin commands, alongside the existing Help ▸ Install Agent Skill… route.

**why**

Help ▸ Install Agent Skill writes to fixed paths, `~/.claude/skills/agterm/` and `~/.codex/skills/agterm/`. The app cannot see `CLAUDE_CONFIG_DIR`, so anyone with a relocated agent config dir gets an install their agent never finds, which is what #315 ran into. A plugin install sidesteps it: the agent does the installing, so the skill goes wherever that agent actually keeps its config.

**single source**

the skill directory moved, and one copy now serves all three consumers with no mirror and no sync step:

```
agterm/Resources/agent-skill/  ->  plugins/agterm/skills/agterm/
```

four manifests point at that same tree:

| file | declares |
|---|---|
| `.claude-plugin/marketplace.json` | `source: "./plugins/agterm"` |
| `plugins/agterm/.claude-plugin/plugin.json` | `skills: ["./skills/agterm"]`, an array of dirs each holding a SKILL.md |
| `.agents/plugins/marketplace.json` | codex's marketplace location, `source` object `{"source":"local","path":"./plugins/agterm"}` |
| `plugins/agterm/.codex-plugin/plugin.json` | `skills: "./skills/"`, a string naming a parent codex scans |

the two `skills` shapes differ per agent and are not interchangeable. Codex's marketplace manifest lives at `.agents/plugins/`, not `.codex-plugin/`, which the issue had wrong.

the plugin root is `plugins/agterm/` rather than the repo root because whatever the root is gets copied wholesale into every install cache, and this repo is an app, not a skill library.

the leaf is named `agterm` on purpose. Claude's default `skills/` scan names a skill by its directory, so any other leaf would install under that name on the path where the frontmatter is not read.

**the three open items from the issue**

*source of truth* - one directory, `project.yml... (continued)

6617 of 6790 relevant lines covered (97.45%)

4428008.13 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30472859950.1 29 Jul 2026 04:57PM UTC 83
97.45
GitHub Action Run
Source Files on build 30472859950
  • Tree
  • List 83
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30472859950
  • 436b758a on github
  • Prev Build on master (#30432168989)
  • Next Build on master (#30478003443)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc